package cc.autoapi.pucong.auto.flow.persistence.repository.api;

import cc.autoapi.pucong.auto.flow.core.root.selfenum.ApiTypeEnum;
import cc.autoapi.pucong.auto.flow.core.root.selfenum.CommonBoolenEnum;
import cc.autoapi.pucong.auto.flow.persistence.po.api.ApiInfoPo;

import java.util.List;

/**
 * @author pucong
 * @description 接口信息 service接口
 * @create 2024-09-24
 */
public interface ApiInfoService {
    /**
     * 初始化已启动的api
     */
    public void initPublishApi();

    /**
     * 发布api
     *
     * @param apiId
     */
    public void publishApi(String apiId);

    /**
     * 取消发布api
     *
     * @param apiId
     */
    public void removeApi(String apiId);

    ApiInfoPo getOneByCodesAndType(String[] strings, ApiTypeEnum requestMethod);

    ApiInfoPo getById(String apiId);

    List<ApiInfoPo> list(String apiName, String groupId, CommonBoolenEnum apiStatus);

    Boolean updateById(ApiInfoPo apiInfoUpdate);

    Boolean save(ApiInfoPo apiInfo);

    Boolean removeBatchByIds(List<String> ids);
}
